package com.csdj.t309springboot.controller;

import com.csdj.t309springboot.common.WebResult;
import com.csdj.t309springboot.common.WebResultMsgCode;
import com.csdj.t309springboot.entity.Menu;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.boot.Banner;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/menu")
public class MenuController {

    /**
     * 显示所有菜单
     * @return
     */
    @GetMapping("/list")
    public WebResult list(Model model) throws JsonProcessingException {
        List<Menu> menuList = new ArrayList<>();
        Menu menu = new Menu();
        menu.setTitle("系统管理");
        menu.setTopId(0);
        menu.setId(1L);

        Menu userMenu = new Menu();
        userMenu.setTitle("用户管理");
        userMenu.setId(4L);
        userMenu.setUrl("/user");
        userMenu.setTopId(0);

        menuList.add(userMenu);

        //子菜单
        List<Menu> subs = new ArrayList<>();
        Menu configMgr = new Menu();
        configMgr.setTopId(1);
        configMgr.setTitle("配置管理");
        configMgr.setUrl("/config");
        configMgr.setId(2L);
        subs.add(configMgr);

        Menu versionMgr = new Menu();
        versionMgr.setTopId(1);
        versionMgr.setTitle("版本管理");
        versionMgr.setUrl("/version");
        versionMgr.setId(3L);
        subs.add(versionMgr);

        menu.setSubs(subs);

        menuList.add(menu);

        return new WebResult(WebResultMsgCode.SUCCESS).putData("menus",menuList);
    }


    //    @GetMapping("list")
//    public String menu(Model model){
//        List<Menu> menuList = menuService.getMenus("用户");
//        log.info("menuList="+menuList);
//
//        model.addAttribute("menus",menuList.get(0));
//        log.info("model.menus="+model.getAttribute("menus"));
//
////        return "backend";
//        return "menu";
//    }


//    @GetMapping("/list")
//    public WebResult list(Model model) throws JsonProcessingException {
//        List<Menu> menuList = new ArrayList<>();
//        Menu menu = new Menu();
//        menu.setTitle("系统管理");
//        menu.setTopId(0);
//        menu.setId(1);
//
//        Menu userMenu = new Menu();
//        userMenu.setTitle("用户管理");
//        userMenu.setId(4);
//        userMenu.setUrl("/user");
//        userMenu.setTopId(0);
//
//        menuList.add(userMenu);
//
//        //子菜单
//        List<Menu> subs = new ArrayList<>();
//        Menu configMgr = new Menu();
//        configMgr.setTopId(1);
//        configMgr.setTitle("配置管理");
//        configMgr.setUrl("/config");
//        configMgr.setId(2);
//        subs.add(configMgr);
//
//        Menu versionMgr = new Menu();
//        versionMgr.setTopId(1);
//        versionMgr.setTitle("版本管理");
//        versionMgr.setUrl("/version");
//        versionMgr.setId(3);
//        subs.add(versionMgr);
//
//        menu.setSubs(subs);
//
//        menuList.add(menu);
//
//        return new WebResult(WebResultMsgCode.SUCCESS).putData("menus",menuList);
//    }
}
